.\"
.\" Copyright (c) 2009, 2012, Oracle and/or its affiliates. All rights reserved.
.\"
.\" logilab-common.3
.\"
.TH logilab-common 3 "30 Jul 2012" "logilab-common 0.58.2"
.SH NAME
logilab-common \- Common Modules used by Logilab projects
.SH DESCRIPTION
The
.I logilab-common
package contains some modules used by different Logilab
projects.

.LP
.SH Provided modules
.LP

A brief description of the available modules:
.LP

.SH Modules providing high-level features
.LP

* `cache`, a cache implementation with a least recently used algorithm.
.LP

* `changelog`, a tiny library to manipulate our simplified ChangeLog file format.
.LP

* `clcommands`, high-level classes to define command line programs handling different subcommands. It is based on `configuration` to get easy command line / configuration file handling.
.LP

* `cli`, a base class for interactive programs using the command line.
.LP

* `configuration`, some classes to handle unified configuration from both command line (using optparse) and configuration file (using ConfigParser).
.LP

* `dbf`, read Visual Fox Pro DBF files.
.LP

* `proc`, interface to Linux /proc.
.LP

* `umessage`, unicode email support.
.LP

* `ureports`, micro-reports, a way to create simple reports using python objects without care of the final formatting. ReST and html formatters are provided.
.LP

.SH Modules providing low-level functions and structures
.LP

* `compat`, provides a transparent compatibility layer between different python versions.
.LP

* `date`, a set of date manipulation functions.
.LP

* `daemon`, a daemon function and mix-in class to properly start an Unix daemon process.
.LP

* `decorators`, function decorators such as cached, timed...
.LP

* `deprecation`, decorator, metaclass & all to mark functions / classes as deprecated or moved
.LP

* `fileutils`, some file / file path manipulation utilities.
.LP

* `graph`, graph manipulations functions such as cycle detection, bases for dot file generation.
.LP

* `modutils`, python module manipulation functions.
.LP

* `shellutils`, some powerful shell like functions to replace shell scripts with python scripts.
.LP

* `tasksqueue`, a prioritized tasks queue implementation.
.LP

* `textutils`, some text manipulation functions (ansi colorization, line wrapping, rest support...).
.LP

* `tree`, base class to represent tree structure, and some others to make it works with the visitor implementation (see below).
.LP

* `visitor`, a generic visitor pattern implementation.
.LP


.SH Modules extending some standard modules
.LP

* `debugger`,  `pdb` customization.
.LP

* `logging_ext`, extensions to `logging` module such as a colorized formatter and an easier initialization function.
.LP

* `optik_ext`, defines some new option types (regexp, csv, color, date, etc.) for `optik` / `optparse`
.LP

* `xmlrpcutils`, auth support for XML-RPC
.LP


.SH Modules extending some external modules
.LP

* `corbautils`, useful functions for use with the OmniORB_ CORBA library.
.LP

* `hg`, some Mercurial_ utility functions.
.LP

* `pdf_ext`, pdf and fdf file manipulations, with pdftk.
.LP

* `pyro_ext`, some Pyro_ utility functions.
.LP

* `sphinx_ext`, Sphinx_ plugin defining a `autodocstring` directive.
.LP

* `vcgutils` , utilities functions to generate file readable with Georg Sander's vcg tool (Visualization of Compiler Graphs).
.LP


.SH To be deprecated modules
.LP

These `logilab.common` modules will probably be deprecated in future versions:
.LP

* `testlib`: use `unittest2`_ instead
.LP
* `pytest`: use `discover`_ instead
.LP
* `interface`: use `zope.interface`_ if you really want this
.LP
* `table`, `xmlutils`: is that used?
.LP
* `sphinxutils`: we won't go that way imo (i == syt)
.LP


.SH Deprecated modules
.LP

These `logilab.common` modules are only for backward compatibility. They can go away at anytime.
.LP

* `optparser`: use `clcommands` instead
.LP

* `adbh`, `db`, `sqlgen`: see `logilab.database`_ instead
.LP

* `contexts`: content move to `shellutils`
.LP

* `html`: deprecated without replacement

.LP

.SH FILES
.TP 2.2i
.B /usr/lib/python2.6/vendor-packages/logilab/common
logilab-common python modules 
.TP
.B /usr/lib/python2.7/vendor-packages/logilab/common
logilab-common python modules

.SH AUTHORS
Sylvain Thenault (sylvain.thenault@logilab.fr)

.SH SUPPORT
Use the python-projects@lists.logilab.org mailing list. Since we do not have
publicly available bug tracker yet, bug reports should be emailed
there too.
.LP

You can subscribe to this mailing list at
http://lists.logilab.org/mailman/listinfo/python-projects
.LP

Archives are available at
http://lists.logilab.org/pipermail/python-projects/

.LP

.SH SEE ALSO
.IR logilab-astng (3),
.IR pylint (1)
